const express = require('express');
//1. 安装包 npm i express-session connect-mongo
//2. 引入 express-session connect-mongo
const session = require("express-session");
const MongoStore = require('connect-mongo');

const app = express();

// 设置session的中间件
app.use(session({
  name: 'sid', // 设置响应cookie的name,默认值是: connect.sid
  secret: 'Augenestern', // 设置加密字符串,加盐,又称签名
  saveUninitialized: false, // 是否为每次请求都设置一个 cookie 用来存储 session 的id
  resave: true, // 是否在每次请求时重新保存session
  store: MongoStore.create({
    mongoUrl: 'mongodb://127.0.0.1:27017/bilibili' //数据库的连接配置
  }),
  cookie: {
    httpOnly: true,// 开启后前端无法通过 JS 操作cookie,例如document.cookie
    maxAge: 1000*300, // 是控制 sessionID 的过期时间的,300s
  }
}));

// 创建session
app.get('/login',(req,res) => {
  //设置session
  req.session.username = 'zhangsan';
  req.session.email = 'zhangsan@qq.com';
  res.send('登录成功');
});


// 销毁session
app.get('/logout',(req,res) => {
  req.session.destroy(() => {
    res.send('成功退出');
  });
})


app.listen(3000, () => {
  console.log('服务已经启动....');
});


























